package cn.tedu.csmall.product.service;

import cn.tedu.csmall.commons.pojo.vo.PageData;
import cn.tedu.csmall.product.pojo.param.CategoryAddNewParam;
import cn.tedu.csmall.product.pojo.param.CategoryUpdateInfoParam;
import cn.tedu.csmall.product.pojo.vo.AlbumListItemVO;
import cn.tedu.csmall.product.pojo.vo.CategoryListItemVO;
import cn.tedu.csmall.product.pojo.vo.CategoryStandardVO;
import cn.tedu.csmall.product.pojo.vo.CategoryTreeItemVO;

import java.util.List;

public interface ICategoryService {
    void addNew(CategoryAddNewParam categoryAddNewParam);

    void delete(Long categoryId);

    void updateById(Long id, CategoryUpdateInfoParam categoryUpdateInfoParam);


    PageData<CategoryListItemVO> list(Integer page);
    PageData<CategoryListItemVO> list(Integer pageNum, Integer pageSize);

    CategoryStandardVO getStandardById(Long id);

    /**
     * 获取所有类别形成的"树"
     *
     * @return 所有类别形成的"树"
     */
    List<CategoryTreeItemVO> listTree();

    void setEnable(Long id);

    void setDisable(Long id);
}
